package fr.maistre.SystemeMarché.Implementation;

import java.io.Serializable;
import java.util.HashMap;

import fr.maistre.SystemeMarché.Interface.Banque;
import fr.maistre.SystemeMarché.Interface.Joueur;

public class SimpleBanque implements Banque, Serializable {

	private final int tauxInteret = 10;

	private HashMap<Joueur, Integer> debiteurs;

	public int preterArgent(Joueur mania, int quantité) {

		if (debiteurs.containsKey(mania)) {
			debiteurs.put(mania, debiteurs.get(mania) + quantité);
		} else {
			debiteurs.put(mania, quantité);
		}
		mania.ajouterArgent(quantité);

		return debiteurs.get(mania);
	}

	public int recupererArgent(Joueur debiteur, int quantité) {

		int empruntInitial = debiteurs.get(debiteur);
		if (empruntInitial - quantité <= 0) {
			debiteurs.remove(debiteur);
			return 0;
		} else {
			debiteurs.put(debiteur, empruntInitial - quantité);

			return debiteurs.get(debiteur);
		}

	}

	
	public int recupererInterets(Joueur joueur) {
		int emprunt = debiteurs.get(joueur);
		return emprunt * tauxInteret / 100;
	}

	
	public int valeurEmpruntMax(Joueur joueur) {
		// Exemple
		return joueur.getStock().getValorisation() * 2;
	}

	public float getTauxInteret() {
		
		return tauxInteret;
	}
}
